package com.yonyou.cyxdms.sysAuth.service.constants;

/**
 * 所有的枚举要实现这个接口
 *
 * @author joy
 */
public interface CodeEnum {
    /**
     * 根据编号获取枚举
     *
     * @param enumCode
     * @param clazz
     * @return
     */
    static <E extends Enum<E> & CodeEnum> E valueOf(int enumCode, Class<E> clazz) {
        E[] enums = clazz.getEnumConstants();

        E enumm = null;
        for (CodeEnum e : enums) {
            if (e.getCode() == enumCode) {
                return (E) e;
            }
        }
        return enumm;
    }

    /**
     * 获取枚举的编号
     *
     * @return
     */
    int getCode();
}
